home *** CD-ROM | disk | FTP | other *** search
-
- ~4Dgifts/toolbox/src/exampleCode/audio/reverb README
-
-
- Simulated reverberation for real-time audio input and output.
-
- Written by Gints Klimanis
- Silicon Graphics Computer Systems
- 1994
-
-
-
- reverb usage: -help
- -verbose
- -level 0..1
- -noMonoProcess each input processed
- -reverbTime seconds
- -noPrime
- -type {comb, allpass,
- schroeder1, schroeder2,
- chamberlin,
- moorer, moorer2,
- er7, er19
- moorer2er7, moorer2er19}
-
-
-
-
-
- all of the documentation contained herein is
- lifted directly from the reverb.c source file.
-
-
-
- The algorithms generate room ambience rather than a realistic room
- response. For proper operation, ensure the input and output sampling
- rates are equal and neither changes over time.
-
- The most advanced algorithm in this code is moorer2er19, which
- consumes roughly 50% of a 100 MHz R4000.
-
- For the pronounced effect, try:
- > reverb -type moorer2er19 -reverbTime 10
-
- For reverberation times > 30 seconds, the decay seems to fizzle out
- quite abruptly. The cause is likely caused by single-precision
- floating point artifacts in the computation of the low-pass filter
- nested in each comb filter.
-
- -noMonoProcess specifies that a reverberator is computed for
- each input channel. Otherwise, all inputs are
- summed into a single reverberator. Algorithm
- types 'comb' and 'allpass' are processed
- with a feedback gain of opposite polarity in
- each of two output channels.
-
- -reverbTime default is 8 seconds. Applies only to comb,
- allpass, schroeder2, moorer, moorer2, moorer2er7,
- moorer2er19 algorithms. Others have decay time
- as specified in design.
-
- -noPrime prevents reciculated delay buffer lengths from
- quantization to prime value. The "priming"
- seems to reduce ringing due to transients such
- as snare drum strike and low-level whining in
- the presence of input noise, so this parameter
- is provided for comparison.
-
- -type: defaults is moorer2
-
- comb, allpass comb and all-pass Interpolated Infinite Impulse
- Response (IIIR) filters.
- schroeder1 quint series all-pass filter
- schroeder2 quad parallel comb into dual series all-pass
- filters
- chamberlin quint series all-pass filter
- moorer Moorer's hex parallel comb filters into single
- all-pass filter
- moorer2 hex parallel filtered-comb into single all-pass
- filters
- er7, er19 early reflections patterns w/7 and 19 taps,
- respectively
- moorer2er7, moorer2er19 early reflections + hex parallel
- filtered-comb into single all-pass filters.
- Early reflections fed into comb network.
- Scatter in 19 tap ER pattern yields algorithm
- with significantly less ring excited by
- transients such as snare drum strike.
-
- To my ears, moorer2 rings less to transients than moorer2er7,
- moorer2er19. However, moorer2er7 and moorer2er19 have smoother
- decay than moorer2. Not sure if ringing is caused by an error
- in my implementation or by a comb-filter quality imposed by the
- early reflection pattern. Consider a diffusor other than the
- early reflection pattern.
-
- The following references contain detailed discussions of the
- non-proprietary implementations found in the code in reverb.c:
-
- + Schroeder, M.R. and Logan, B.F., "'Colorless' Artificial Reverberation."
- Journal of the Audio Engineering Society v. 9, n. 3: pp. 192-197, 1962
-
- + Schroeder, M.R. , "Natural Sounding Artificial Reverberation." Journal
- of the Audio Engineering Society v. 10, n. 3: pp. 219-223, 1962
-
- + Moorer, J.A., "About This Reverberation Business", Foundations of
- Computer Music, Roads and Strawn, ed.: pp. 605-639, 1985
-
- + Chamberlin, Hal, Musical Applications of Microprocessors, 2nd Ed.,
- Hayden Books, A Division of Howard Sams & Co., Indianapolis, Indiana,
- pp. 508-512, 1985
-
-
-
-
-
- Manfred Schroeder's conditions for artificial reverberators
- (lifted from paper):
-
- 1) The frequency response must be flat when measured with narrow bands
- of noise, with the bandwidths corresponding to that of the transients
- in the sound to be reverberated. This condition is, of course,
- fulfilled by reverberators which have a flat response even for
- sinusoidal excitation.
-
- 2) The normal modes of the reverberator must overlap and cover the entire
- audio frequency range.
-
- 3) The reverberation times of the individual modes must be equal or
- nearly equal so that different frequency components of the sound will
- decay with equal rates.
-
- 4) The echo density a short interval after shock excitation must be high
- enough so that individual echos are not resolved by the ear.
-
- 5) The echo response must be free from periodicities (flutter echos)
-
- 6) The amplitude-frequency response must not exhibit any apparent
- periodicities. Periodic or comblike frequency responses produce an
- unpleasant hollow, reedy or metallic sound quality and give the
- impression that the sound is transmitted through a hollow tube or
- barrel.
-
-